﻿using System.Collections.Generic;
using ZilLion.Service.Core.DapperWrapper;
using ZilLion.Service.WeChatMall.Domain.Entitys.ShopInfo;

namespace ZilLion.Service.WeChatMall.Domain.Repositorys.Interface.ShopInfo
{
    public interface IShopSupportsInfoReponsitory
    {
        /// <summary>
        ///     根据店铺ID 获取店铺额外信息
        /// </summary>
        /// <param name="shopid"></param>
        /// <returns></returns>
        IEnumerable<ShopSupportInfoEntity> GetShopSupportsInfoById(long shopid);

        /// <summary>
        ///     根据appid获取店铺信息
        /// </summary>
        /// <param name="appId"></param>
        /// <returns></returns>
        IEnumerable<ShopSupportInfoEntity> GetShopSupportsInfoByAppId(string appId);

        /// <summary>
        ///     新增
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="unit"></param>
        void AddInfo(ShopSupportInfoEntity entity, UnitOfWork unit = null);

        /// <summary>
        ///     修改
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="unit"></param>
        void RemoveInfo(ShopSupportInfoEntity entity, UnitOfWork unit = null);

        /// <summary>
        ///     移除门店优惠信息
        /// </summary>
        /// <param name="shopid"></param>
        /// <param name="unit"></param>
        void RemoveInfoByShopid(long shopid, UnitOfWork unit = null);

        /// <summary>
        ///     删除
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="unit"></param>
        void EditInfo(ShopSupportInfoEntity entity, UnitOfWork unit = null);
    }
}